import plotly.express as px
import pandas as pd
data_path = "../data/input/"
def salvar_relacoes_entre_cnpjs():
return pd.read_csv(
data_path + 'relacao_societario_tratada.csv',
header=None,
names=['cnpj_1', 'cnpj_2'],
dtype=str
)
def salvar_informacoes_licitacoes():
return pd.read_csv(
data_path + 'infos_licitacoes.csv',
dtype=str,
sep=';'
)
def salvar_cnpjs_por_licitacao():
return pd.read_csv(
data_path + 'licitacoes_cnpjs_licitantes.csv',
dtype=str,
sep=';'
)
cnpjs_por_licitacao = salvar_cnpjs_por_licitacao()
relacoes_entre_cnpjs = salvar_relacoes_entre_cnpjs()
informacoes_licitacoes = salvar_informacoes_licitacoes()
def plota_licitacoes_total_por_municipio_geral():
df = informacoes_licitacoes
fig = px.histogram(df, x="nom_entidade", log_y=True,
title="Quantidade de licitações por município presentes na amostra",
labels={
'nom_entidade' : "Municípios"
}
)
fig.update_xaxes(visible=True, showticklabels=False)
fig.update_xaxes(categoryorder="total descending")
fig.update_yaxes(title='Total de licitações')
fig.show()
plota_licitacoes_total_por_municipio_geral()
def plota_licitacoes_total_por_modalidade():
df = informacoes_licitacoes
fig = px.histogram(df, x="nom_modalidade", log_y=True,
title="Quantidade de licitações por modalidade",
labels={
'nom_modalidade' : "Modalidade"
}
)
fig.update_xaxes(visible=True, showticklabels=True)
fig.update_xaxes(categoryorder="total descending")
fig.update_yaxes(title='Total de licitações')
fig.show()
plota_licitacoes_total_por_modalidade()
def plota_total_licitacoes_por_ano():
df = informacoes_licitacoes
fig = px.histogram(df, x="num_exercicio_licitacao", log_y=True,
title="Quantidade de licitações por ano",
labels={
'num_exercicio_licitacao' : "Ano"
}
)
fig.update_xaxes(visible=True, showticklabels=True)
fig.update_xaxes(categoryorder="total descending")
fig.update_yaxes(title='Total de licitações')
fig.show()
plota_total_licitacoes_por_ano()
cnpjs_agrupados_por_licitacao = cnpjs_por_licitacao.groupby('seq_dim_licitacao').count()
def plota_cnpjs_por_licitacao_hist():
df = cnpjs_agrupados_por_licitacao
fig = px.histogram(df,log_x=False, log_y=True,
title="Número de licitações em função do número de participantes",
labels={
'value' : "CNPJs participantes"
}
)
fig.update_xaxes(visible=True, showticklabels=True)
fig.update_xaxes(categoryorder="total descending")
fig.update_yaxes(title='Total de licitações')
fig.update_layout(showlegend=False)
fig.show()
plota_cnpjs_por_licitacao_hist()
licitacoes_agrupadas_por_cnpj = cnpjs_por_licitacao.groupby('num_documento').count()
def plota_licitacoes_por_cnpj():
df = licitacoes_agrupadas_por_cnpj
fig = px.histogram(df,log_x=True, log_y=True,
title="Quantidade de CNPJs em função do número de participações em licitações",
labels={
'value' : "Licitações participadas"
}
)
fig.update_xaxes(visible=True, showticklabels=True)
fig.update_xaxes(categoryorder="total descending")
fig.update_yaxes(title='Total de CNPJs')
fig.update_layout(showlegend=False)
fig.show()
plota_licitacoes_por_cnpj()